iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
Vibe Coding

一個 Vibe Coding 專案從原型到有人在用系列 第 3

叫 AI「其他都不准動」,為什麼反而做不出來?

  • 分享至 

  • xImage
  •  

被 AI 亂改過一次,下次寫工作單,你大概會多加幾行「不准動」。這個不准碰、那個不准改,寫得越多越安心。

結果 AI 真的什麼都沒亂動,檢查也全過了。打開一看,你要的東西卻沒出來。

昨天講第一格寫得太鬆,今天反過來,講第二格寫得太緊。

凌晨三點的復古面板

usage 的面板可以換風格,數字一樣,外觀換一套。5 月 22 日凌晨,我想加一款 90 年代風格的,貼了一張參考圖給 AI,上面有藍黑棋盤格背景、金屬光澤的大招牌、左右兩側直書的貼紙、爆炸星星徽章,底部還畫了一台電子雞。

第一輪做出來太樸素,看起來就是一般的數據儀表板。第二輪交給 Codex 的工作單,整理成白話是這樣:

改哪裡:只重寫外觀樣式(顏色、漸層、陰影、字體)
哪裡不准動:畫面骨架、程式邏輯、多語言文字、測試,也不准加圖檔
做完怎麼算對:看得到棋盤格、卡片有金屬光澤、進度條會發光、按鈕有立體感

實際的工作單長很多,光是金屬光澤和發光效果怎麼調,就附了好幾段寫好的樣式。

8 分鐘後,Codex 回報通過:118 個測試全過,五種語言的截圖都檢查過,棋盤格、金屬光澤、發光效果都做出來了。

我打開面板,回了一句:

更慘不忍睹 完全不是90年代啊

骨架不准動,招牌就沒地方放

這裡有兩個東西要分開看:

  • 畫面骨架:畫面上有哪些格子、怎麼排。原本的面板是上下疊三張卡片(Claude Code、Codex、專案用量),底下再一條資訊列。
  • 外觀樣式:每個格子長什麼樣子,顏色、漸層、陰影、字體。

外觀樣式能把卡片刷成金屬色,卻變不出一個原本沒有的格子。參考圖上的大招牌、兩側的直書貼紙、底部的電子雞,原本的畫面上都沒有位置放。寫了「骨架不准動」,這些東西就出不來。

https://ithelp.ithome.com.tw/upload/images/20260917/20183178xHcjfLMCEh.png

灰色的格子換個外觀就行,橘色的得先動骨架才加得進去。

前兩輪為什麼失敗,第三輪的工作單裡 AI 自己寫了:參考圖是完全不同的版型,只改外觀樣式做不出來,這一輪允許重建骨架。

回頭看第二輪,Codex 沒有違反任何一條規定,檢查也都過了,只是做出來的東西不是我要的。

AI 不會替你喊卡

其實第二輪的工作單裡,寫了一條停損:

三次嘗試仍做不出 Y2K 質感 → 停手回報「卡點」與「需要哪些放寬」

(Y2K 指千禧年前後流行的那種風格。)

Codex 沒有停手,回報的是「通過」。照工作單列的檢查項目看,它也確實都做到了。

我抱怨完,負責寫工作單、派工給 Codex 的那個 AI 回頭檢討,前後講了兩個相反的說法。先說只用外觀樣式、沒有美術素材,這種質感「根本畫不出來」,建議換個風格;三分鐘後又說圖裡的東西其實都做得出來,是「我給 Codex 的方向錯了」。

所以「做不到就告訴我」可以寫,但別指望它。這些限制會不會把你要的東西擋掉,送出工作單之前要自己先看過。

每一條「不准動」,後面接一個「因為」

第三輪的工作單把第二格重寫了,兩個版本放在一起看:

第二輪:畫面骨架不准動
第三輪:畫面骨架可以重建,但讓數字填進畫面的那些標記,一個都不准少

第三輪說得出動了會壞什麼。面板上的用量數字,是程式照著骨架裡的標記一格一格填進去的,標記少一個,那一格就沒數字。骨架怎麼排,換掉倒不會壞。

所以寫第二格時,可以在每一條不准動後面補一句「因為動了會__壞掉」。

  • 填得出來,就留著。
  • 填不出來,只能寫「因為我覺得應該這樣做」,那其實是在替 AI 決定做法。把它刪掉,或改寫成你真正怕壞掉的東西。

拿第二輪那條「骨架不准動」來試,會寫成「因為數字要填進去」。寫到這裡就看得出來,真正怕壞的只有那些標記。

放寬了,還是沒做成

第三輪放寬了骨架,派工時也說好這是最後一輪。不到二十分鐘,我連回了兩句:

算了 還是不行 看有沒別的風格吧
其實還可以 只是字太小

同一分鐘裡,我先說不行,又說還可以,自己也拿不定主意。

之後沒有第四輪。當天早上五點多跟著 v0.6.3 上線的,是另一款 Windows 95 風格的面板:灰色立體視窗、寶藍標題列、一格一格的進度條。復古面板一行都沒有進到專案裡。

https://ithelp.ithome.com.tw/upload/images/20260917/20183178O9LiZS6ucY.png

所以第二格寫對了,也不保證做得出來。它能幫你分辨卡在哪裡:限制沒放寬,再試幾輪結果都一樣;放寬了還是不行,就該想想目標要不要換。

今天可以帶走的

寫第二格時,每一條都補上原因:

改哪裡:
哪裡不准動:
- ___,因為動了會___壞掉
- ___,因為動了會___壞掉
做完怎麼算對:

送出前再看兩件事:

  1. 有沒有哪一條「因為」填不出來?有的話,刪掉或改寫。
  2. 每一條「不准動」都照做,你要的東西還做得出來嗎?做不出來,這格就寫太緊了。

同一個東西連續兩輪做不對,先別急著寫更長的工作單。先想想:是限制卡住了,還是目標該換了?

明天講第三格「做完怎麼算對」:怎麼寫,才不會每一項都打勾了,東西還是不對。

參考資料

  • Anthropic,〈Claude Code: Best practices for agentic coding〉(「Scope the task」一節,講指定檔案與範圍):https://www.anthropic.com/engineering/claude-code-best-practices
  • usage 專案:https://github.com/aqua5230/usage
  • Windows 95 面板上線的那次改動(commit 6f29773,v0.6.3):https://github.com/aqua5230/usage/commit/6f29773

上一篇
叫 AI 做事,一句話和一張工作單差在哪?
下一篇
叫 AI 做完自己檢查,為什麼你一按就壞?
系列文
一個 Vibe Coding 專案從原型到有人在用6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言